/**
 * 系统后台数据库连接配置JS-systemDataSource.jsp
 */

// 项目路径
var strPath = window.document.location.pathname;
//var postPath = strPath.substring(0, strPath.substr(1).indexOf('/') + 1);
var postPath = "/gdp";
var editStart = 1;// 1添加、2修改
var dd = 0;
$(function() {
	$("#ssss").hide();
	// 数据列表
	$("#tb_dataList").bootstrapTable({
		url : postPath + '/accesscontrol/appservicerelation/getDataList',
		undefinedText : '-',
		pagination : false, // 分页
		striped : true, // 是否显示行间隔色
		queryParams : queryParams,
		cache : false, // 是否使用缓存
		pageList : [ 5, 10, 20 ],
		toolbar : "",// 指定工具栏
		showColumns : false, // 显示隐藏列
		showRefresh : false, // 显示刷新按钮
		uniqueId : "appId", // 每一行的唯一标识
		sidePagination : "server", // 服务端处理分页
		responseHandler: function (res) {
			return {
				"rows": res.data   //数据
			};
		},
		columns : [ {
			field : 'state',
			checkbox : true,
			align : 'center',
			valign : 'middle',
			//回显选中状态
			formatter: function (value, row) {
				if (row.appServiceId) {
					return {
						disable: true,
						checked: true
					};
				}
			}
		}, {
			title : 'AppCode',
			field : 'appCode', // 字段
			align : 'left', // 对齐方式（左 中 右）
			halign:'center',
			valign : 'middle', //
			sortable : false
		}, {
			title : '调用方名称',
			field : 'appName', // 字段
			align : 'left', // 对齐方式（左 中 右）
			halign:'center',
			valign : 'middle', //
			sortable : false
		}, {
			title : '管理单位',
			field : 'department',
			align : 'left', // 对齐方式（左 中 右）
			halign:'center',
			valign : 'middle',
			sortable : false
		}, {
			title : 'IP地址',
			field : 'ip',
			align : 'center',
			valign : 'middle',
			sortable : false
		}, {
			title : '联系人',
			field : 'contacts',
			align : 'center',
			valign : 'middle',
			sortable : false
		}, {
			title : '联系电话',
			field : 'phone',
			align : 'left',
			halign: 'center',
			valign : 'middle',
			sortable : false
		}, {
			title : '服务数量',
			field : 'serviceCount',
			align : 'center',
			halign: 'center',
			valign : 'middle',
			sortable : false
		}]
	});

	// 查询操作
	$("#btn_Search").click(function() {
		$("#tb_dataList").bootstrapTable('refresh');
	});

	//返回列表
	$("#btn_back").click(function () {
		window.location.href = postPath + "/prjService/index";
	});

	// 保存数据
	$("#btn_auth").click(function () {
		var removeRow = getRemoveKey();
		var data = {
			serviceId: GetQueryString("id"),
			addAppId: getAddKey(),
			removeAppId: removeRow.keys,
			removeAppServiceId: removeRow.appServiceId,
		};
		$.ajax({
			type: 'POST',
			url: postPath + '/accesscontrol/appservicerelation/save',
			data : JSON.stringify(data),
			dataType: 'json',
			contentType:'application/json;charset=UTF-8',
			success: function (res) {
				if (res.success == true ) {
					if (res.data > 0) {
						showMsg("操作成功!", "success");
						$("#tb_dataList").bootstrapTable('refresh');
					} else {
						showMsg("请至少选择一行!", "error");
					}
				} else {
					// bootbox.alert("保存失败,请刷新后重试!");
					showMsg("操作失败,请稍后重试!", "error");
				}
			}
		});

	});
});

/**获取剩余的key*/
function getAddKey() {
	var allRow = $('#tb_dataList').bootstrapTable('getData');
	var row = $('#tb_dataList').bootstrapTable('getSelections');
	var keys = "";
	$.each(row, function (i, e) {
		var flag = false;
		$.each(allRow, function (i1, e1) {
			//默认选择的
			if (e1.appServiceId) {
				if (e.appId == e1.appId) {
					flag = true;
				}
			}
		});
		if (!flag) {
			keys += e.appId + ",";
		}
	});
	keys = keys.substring(0, keys.length - 1);
	return keys;
}

/**获取移除的key*/
function getRemoveKey() {
	var allRow = $('#tb_dataList').bootstrapTable('getData');
	var row = $('#tb_dataList').bootstrapTable('getSelections');
	var keys = "";
	var appServiceId = "";
	$.each(allRow, function (i1, e1) {
		//默认选择的
		if (e1.appServiceId) {
			var flag = false;
			$.each(row, function (i, e) {
				if (e.appId == e1.appId) {
					flag = true;
				}
			});
			if (!flag) {
				keys += e1.appId + ",";
				appServiceId += e1.appServiceId + ",";
			}
		}
	});
	keys = keys.substring(0, keys.length - 1);
	appServiceId = appServiceId.substring(0, appServiceId.length - 1);
	return {'keys': keys, 'appServiceId': appServiceId};
}

/** 查询条件与分页数据 */
function queryParams(pageReqeust) {
	var temp = {
		serviceId : GetQueryString("id"),
	};
	if($("#searchAppCode").val()){
		temp.appCode =$("#searchAppCode").val();
	}
	if($("#searchAppName").val()){
		temp.appName =$("#searchAppName").val();
	}
	if($("#searchDepartment").val()){
		temp.department =$("#searchDepartment").val();
	}
	return temp;
}



function showMsg(text, icon) {
	$.toast().reset('all');
	$.toast({
		text: text,
		icon: icon,
		showHideTransition: 'fade',
		allowToastClose: true,
		hideAfter: 1500,
		stack: false,
		position: 'top-right',
		textAlign: 'left',
		loader: true,
		loaderBg: '#9ec600',
	});
}
function GetQueryString(name) {
	var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
	var r = window.location.search.substr(1).match(reg);
	if (r != null) return unescape(r[2]);
	return null;
}

function confirmDelete(message, confirmFunction){
    var messageObj = {
        title: '提示',
        message: message ,
        callback: confirmFunction,
		buttons: {
			confirm: {
				label: "确定"
			},
			cancel: {
				label: "取消"
			}
		},
    }
    bootbox.confirm(messageObj);
}
